package com.danger.Model.action;

import android.content.Context;

import com.danger.Model.bean.ObjectInfo;
import com.danger.Model.listener.OnDeleteListener;
import com.danger.Model.listener.OnGetObjectInfoListener;
import com.danger.Util.CheckCode;

import cn.bmob.v3.BmobQuery;
import cn.bmob.v3.listener.DeleteListener;
import cn.bmob.v3.listener.GetListener;
import cn.sharesdk.framework.ShareSDK;
import cn.sharesdk.onekeyshare.OnekeyShare;

/**
 * Created by danger on 2016/3/31.
 */
public class MyObjectInfoDetailModelImpl implements MyObjectInfoDetailModel {

    private Context context;

    public MyObjectInfoDetailModelImpl(Context context) {
        this.context = context;
    }

    @Override
    public void deleteMyObjectInfo(String id, final OnDeleteListener listener) {
        ObjectInfo objectInfo = new ObjectInfo();
        objectInfo.setObjectId(id);
        objectInfo.delete(context, new DeleteListener() {
            @Override
            public void onSuccess() {
                listener.onSuccess();
            }

            @Override
            public void onFailure(int i, String s) {
                listener.onError(CheckCode.checkByCode(i));
            }
        });

    }

    @Override
    public void shareMyObjectInfo(String content, String url) {
        ShareSDK.initSDK(context);
        OnekeyShare oks = new OnekeyShare();
        //关闭sso授权
        oks.disableSSOWhenAuthorize();

        // 分享时Notification的图标和文字  2.5.9以后的版本不调用此方法
        //oks.setNotification(R.drawable.ic_launcher, getString(R.string.app_name));
        // title标题，印象笔记、邮箱、信息、微信、人人网和QQ空间使用
        oks.setTitle("一键分享");
        // titleUrl是标题的网络链接，仅在人人网和QQ空间使用
        oks.setTitleUrl("http://sharesdk.cn");
        // text是分享文本，所有平台都需要这个字段
        oks.setText(content);
        // imagePath是图片的本地路径，Linked-In以外的平台都支持此参数
        if (url != null) {
            oks.setImageUrl(url);
        }
        // url仅在微信（包括好友和朋友圈）中使用
        oks.setUrl("http://sharesdk.cn");
        // comment是我对这条分享的评论，仅在人人网和QQ空间使用
        oks.setComment("我是测试评论文本");
        // site是分享此内容的网站名称，仅在QQ空间使用
        oks.setSite("失物招领APP");
        // siteUrl是分享此内容的网站地址，仅在QQ空间使用
        oks.setSiteUrl("http://sharesdk.cn");

        // 启动分享GUI
        oks.show(context);
    }

    @Override
    public void getObjectInfo(String id, final OnGetObjectInfoListener listener) {
        BmobQuery<ObjectInfo> query = new BmobQuery<ObjectInfo>();
        query.getObject(context, id, new GetListener<ObjectInfo>() {
            @Override
            public void onSuccess(ObjectInfo objectInfo) {
                listener.onSuccess(objectInfo);
            }

            @Override
            public void onFailure(int i, String s) {
                listener.onError(s);
            }
        });
    }
}
